#homework third
'''
自动取款机的存取款模拟效果
1.登陆系统
2.退出系统
3查询余额
4.取钱
5.存钱-
'''
# 银行数据列表

bank_list=[
    {'sid': '3', 'passwordq': '123456', 'name': 'zhangsan', 'money': 16500},
    {'sid': '2', 'passwordq': '123456', 'name': 'lisi', 'money': 16500},
    {'sid': '1', 'passwordq': '123456', 'name': 'zhansan', 'money': 1650}]

# # 展示相关数据
# def show_bank():
#     bank_len=len(bank_list)
#     if bank_len==0:
#         print('数据为空')
#         return
#     print('|{0:3}|{1:8}|{2:15}|{3:8}|'.format('sid','password','name','money'))
#     print('='*40)
#     for i in bank_list:
#         print('|{0:3}|{1:8}|{2:20}|{3:10}|'.format(i['sid'],i['password'],i['name'],i['money']))
#


# show_bank()

# 申请一个空列表 记录当前登录用户的信息
user_info = []


# 登录函数
def login():
    global user_info
    key_u = input('请输入用户名：')
    key_p = input('请输入密码：')

    for i,user_dict in enumerate(bank_list):

        if user_dict['sid'] == key_u and user_dict['passwordq'] == key_p:

            user_info.append(user_dict)


    if user_info != []:
        print('用户存在')
    else:
        if input('您输入的密码有误，是否重新输入？y/n') == 'y':
            login()

# 交互界面
def show():
    print('=' * 12, '银行管理系统', '=' * 12)
    print('{:1}{:13}{:15}'.format(' ', '1.登录', '2.查询余额'))
    print('{:1}{:13}{:15}'.format(' ', '3.存钱', '4.取钱'))
    print('5退出系统')
    print('=' * 40)



# 查询余额
def reache():
    '''
    查询登录账户的余额
    :return:
    '''
    print('#'*40)
    print(' '*20,'您的账户余额为{:8}'.format(user_info[0]['money']))
    print('#'*40)


#存钱
def add_money():
    k_money=float(input('请输入存钱的数额'))
    if k_money.is_integer()==False:
        print('请输入正确的金额')
        add_money()
    else:
        user_info[0]['money']+=k_money
        print('存钱的金额为',user_info[0]['money'])

#取钱
def out_money():
    k_omoney = float(input('请输入取钱的数额'))
    if k_omoney.is_integer() == False:
        print('请输入正确的金额')
        out_money()
    else:
        if user_info[0]['money']>=k_omoney:
             user_info[0]['money'] -= k_omoney
             print('您账户的金额为',user_info[0]['money'])
        else:
             print('您的余额不足')
             head()


 # 退出系统
def outlogin():
    user_info.clear()
    print('thank you for your using')



# head
def head():
    while True:


         show()
         key = input('请输入对应的选择')

         if key == '1':
             if user_info!=[]:
                 print('您已登录，重新登录请退出')
             else:
                 login()
         elif key == '2':
             if user_info==[]:
                 print('请登录')
                 login()
             else:
                 reache()
         elif key == '3':
             if user_info==[]:
                 print('请登录')
                 login()
             else:
                 add_money()
         elif key == '4':
             if user_info==[]:
                 print('请登录')
                 login()
             else:
                 out_money()
         elif key=='5':
             outlogin()

         else:
             print('请输入正确的数')




head()